package cn.com.chengmandian.core.web.pojo;

import cn.com.chengmandian.core.common.enums.BikeMonitoringImageEnum;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel("电单车区域运营参数")
@JsonIgnoreProperties(ignoreUnknown = true)
public class BikeAreaParam {

    @ApiModelProperty("运维配置-工单-换电-换入电池电量需高于此值")
    private Integer opsBillChargeInSoc = 90;

    @ApiModelProperty("运维配置-工单-换电-换出电池电量需低于此值")
    private Integer opsBillChargeOutSoc = 30;

    @ApiModelProperty("运维配置-工单-换电-换电阀值")
    private Integer opsBillChargeSoc = 30;

    @ApiModelProperty("运维配置-工单-换电-是否绑定电池")
    private Integer opsBillChargeBindBattery = 0;

    @ApiModelProperty("运维配置-工单-换电-自动生成换电工单")
    private Boolean opsBillChargeAuto = true;

    @ApiModelProperty("运维配置-工单-换电-开启电池仓距离限制[x]米")
    private Integer opsChargeOpenAisleDistance = 0;

    @ApiModelProperty("运维配置-工单-调度-自动生成调度工单")
    private Boolean opsBillDispatchAuto = true;

    @ApiModelProperty("运维配置-工单-调度-自动调度区外车辆")
    private Boolean opsBillDispatchAreaOut = false;

    @ApiModelProperty("运维配置-工单-调度-自动调度闲置48小时车辆")
    private Boolean opsBillDispatchIdle = false; // （废弃）

    @ApiModelProperty("运维配置-工单-调度-自动调度闲置X小时车辆")
    private Integer opsBillDispatchHour = 0;

    @ApiModelProperty("运维配置-工单-调度-调度后闲置X小时再次调度")
    private Integer opsBillDispatchAgain = 24;

    @ApiModelProperty("运维配置-工单-调度-调度车辆控制")
    private Integer opsBillDispatchBikeControl = 1;

    @ApiModelProperty("运维配置-工单-调度-是否允许相同站点调度")
    private Boolean opsBillDispatchSameStation = false;

    @ApiModelProperty("运维配置-工单-调度-调度后x小时内判定有效")
    private Integer opsBillDispatchHourHaveWork = 48;

    @ApiModelProperty("运维配置-工单-巡检-自动生成巡检工单")
    private Boolean opsBillPatrolAuto = true;

    @ApiModelProperty("运维配置-工单-巡检-车辆巡检是否必须上传图片")
    private Boolean opsPatrolTagUploadImage = true;

    @ApiModelProperty("运维配置-工单-维修-自动生成维修工单")
    private Boolean opsBillRepairAuto = true;

    @ApiModelProperty("运维配置-挪车-挪车距离大于x米")
    private Integer opsWorkMoveDistance = 100;

    @ApiModelProperty("运维配置-挪车-x小时内，产生有效订单")
    private Integer opsWorkMoveHours = 6;

    @ApiModelProperty("运维配置-挪车-照片是否必传")
    private Boolean opsWorkMoveUploadImage = true;

    @ApiModelProperty("运维配置-换电-高于换电阈值禁止打开电池仓")
    private Boolean opsLessChargingForbidOpenAisle = false;

    @ApiModelProperty("运维配置-日常-运维占用车辆静止超过X分钟自动锁车")
    private Integer opsUseBikeStopMinuteLock = 0;

    @ApiModelProperty("运维配置-日常-车辆监控图标")
    private String opsBikeMonitoringImageSort = BikeMonitoringImageEnum.getStrSort();

    @ApiModelProperty("运维配置-日常-运维异常车辆统计范围")
    private String opsExceptionBikeTotalScope = "A2,B2,C2,C3,D1,D2,E1,E2,H1,H2,I1,J1";

    @ApiModelProperty("运维配置-日常-扣押车自动暂停运营")
    private Boolean opsDetainBikeAutoStop = true;

    @ApiModelProperty("用户端-共享出行")
    private Boolean userRideShareEnable = true;

    @ApiModelProperty("用户端-分时租赁")
    private Boolean userRideRentEnable = false;

    @ApiModelProperty("用户端-车辆-可骑行开关")
    private Boolean userRideEnable = true;

    @ApiModelProperty("用户端-车辆-停运说明")
    private String userRideStopNote = "系统升级维护中，请耐心等待，谢谢";

    @ApiModelProperty("用户端-车辆-低电量提醒")
    private Integer userBikeSocRemind = 20;

    @ApiModelProperty("用户端-车辆-骑行最低电量")
    private Integer userBikeRideSoc = 15;

    @ApiModelProperty("用户端-站外区外停车是否能够享受骑行优惠")
    private Boolean userDispatchAllowDiscount = true;

    @ApiModelProperty("用户端-自动结束订单")
    private Boolean userAutoCloseOrder = false;

    @ApiModelProperty("用户端-车辆静止x分钟后自动临时停车")
    private Integer userStaticStopOrder = 10;

    @ApiModelProperty("用户端-车辆静止x分钟后自动结束订单")
    private Integer userStaticCloseOrder = 30;

    @ApiModelProperty("用户端-骑行需要佩戴头盔")
    private Boolean userNeedWearHelmet = false;

    @ApiModelProperty("用户端-佩戴头盔文案提醒")
    private String userNeedWareHelmetHintText = "为了你的安全请戴好头盔";

    @ApiModelProperty("用户端-开锁后自动打开头盔锁")
    private Boolean userOpenLockOpenHelmet = false;

    @ApiModelProperty("用户端-开锁后检查感应头盔")
    private Boolean userOpenLockCheckHelmetResponse = false;

    @ApiModelProperty("用户端-停车时是否要求头盔锁已加锁")
    private Boolean userCloseLockCheckHelmetLockStatus = false;

    @ApiModelProperty("用户端-停车时是否要求头盔在位")
    private Boolean userCloseLockCheckHelmetReignStatus = false;

    @ApiModelProperty("用户端-头盔锁款式 1-通用 2-插销式")
    private Integer userBikeHelmetLockStyle = 1;

    @ApiModelProperty("用户端-运营区客服电话")
    private String userAreaServicePhone = "";

    @ApiModelProperty("用户端-运营区在线客服链接")
    private String userAreaServiceOnlineLink = "";

    @ApiModelProperty("用户端-用户订单上报蚂蚁链接")
    private Boolean userOrderAntReport = false;

    @ApiModelProperty("用户端-用户开锁距离限制")
    private Integer userOpenLockDistance = 200;

    @ApiModelProperty("用户端-附近车辆定位方式 1-地图中心点附近 2-用户定位附近")
    private Integer userNearBikeLocationType = 1;

    @ApiModelProperty("用户端-附近车辆范围米 默认1000 0.不返回车辆数")
    private Integer userSeeBikeNearDistance = 1000;

    @ApiModelProperty("用户端-摄像头AI停车开关")
    private Boolean userCameraAIStopBike = false;

    @ApiModelProperty("用户端-摄像头AI还车角度")
    private Integer userCameraStopAngle = 30;

    @ApiModelProperty("用户端-摄像头AI还车距离")
    private Integer userCameraStopDistance = 28;

    @ApiModelProperty("用户端-摄像头AI请求颜色标志")
    private Integer userCameraStopColor = -1;

    @ApiModelProperty("用户端-是否开启道钉停车")
    private Boolean userSpikeStopBike = false;

    @ApiModelProperty("用户端-道钉停车信号强度")
    private Integer userSpikeSignalStrength = -100;

    @ApiModelProperty("用户端-是否强制购买会员卡")
    private Boolean userRideBuyMemberCard = false;

    @ApiModelProperty("用户端-身份认证-是否开启人脸认证")
    private Boolean userMiniLoginFaceAuthEnabled = false;

    @ApiModelProperty("用户端-身份认证-是否开启活体人脸认证")
    private Boolean userMinLoginFaceLifeAuthEnabled = false;

    @ApiModelProperty("用户端-身份认证-是否开启骑行人脸认证")
    private Boolean userRideFaceAuthEnabled = false;

    @ApiModelProperty("用户端-身份认证-人脸识别有效期")
    private Integer userRideFaceAuthHaveTime = 3;

    @ApiModelProperty("用户端-身份认证-人脸识别时间段")
    private String userRideFaceAuthTimeParagraph = "00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23";

    @ApiModelProperty("用户端-RFID停车")
    private Boolean userStopBikeRfidEnabled = false;

    @ApiModelProperty("用户端-实名信息认证")
     private Boolean userRideRealNameAuthEnabled = true;

    @ApiModelProperty("用户端-用户还车流程 1-先还车后支付 2-先支付后还车 默认1")
    private Integer userRideReturnBikeProcess = 1;

    @ApiModelProperty("用户端-用户骑行-临时停车次数限制开关")
    private Boolean userRideStopBikeMaxTimesEnabled = false;

    @ApiModelProperty("用户端-用户骑行-临时停车次数限制")
    private Integer userRideStopBikeMaxTimes = 3;

    @ApiModelProperty("用户端-用户服务-客户服务说明")
    private String customerAreaServiceDes = "";

    @ApiModelProperty("用户端-骑行实名认证 1-按品牌配置、2-要求实名、3-不要求实名，默认1")
    private Integer userRideAuthNameType = 1;

    @ApiModelProperty("用户端-规范停车-是否开启AI拍照停车")
    private Boolean userRideAIPhotosStopBike = false;

    @ApiModelProperty("用户端-规范停车-AI拍照停车方案 1.华惠")
    private Integer userAIPhotosStopBikeScheme = 1;

    @ApiModelProperty("用户端-规范停车-AI拍照停车方案参数 key=xxx&param2=xxx 格式")
    private String userAIPhotosStopApiParams = "";
}
